#define _CRT_SECURE_NO_WARNINGS 1

//【程序46】
//题目：取一个整数a从右端开始的4～7位。
//
//分析：
//这个题目没太明白什么意思，暂定为取一个数的高四位吧，其他估计也差不多的。那这个就比较简单了，直接右移再左移，简单直接，左移右移都是往对应位置补0；如果用位操作与上一个11110000的数也可以，但感觉有点麻烦。
//
//另外，这个题目可以学学如何打印一个数的二进制形式（库函数没有）。

#include <stdio.h>

int main(void)
{
	int i = 0;
	int n = 215;
	int m = 0;
	printf("%d的二进制形式为:", n);
	//打印一个数的二进制形式
	for (i = 7; i >= 0; i--)
	{
		printf("%1d", (n & (1 << i)) ? 1 : 0);
	}

	printf("\r\n取其高四位为：");

	m = n >> 4;
	m = m << 4;
	for (i = 7; i >= 0; i--)
	{
		printf("%1d", (m & (1 << i)) ? 1 : 0);
	}
	printf("\r\n");

	return 0;
}
